//
//  WBStatus.swift
//  TYCWeiBo
//
//  Created by 中发 on 2018/6/5.
//  Copyright © 2018年 中发. All rights reserved.
//

import UIKit
import YYModel

class WBStatus: NSObject {

    /// Int类型，在64位机器上是64位，在32位的机器上是32位
    //如果不写Int64，在iPad2/iPhone5/5c/4&4s都无法正常显示
    var id: Int64 = 0
    /// 微博内容
    var text: String?
    
    /// 转发数
    var reposts_count: Int = 0
    /// 评论数
    var comments_count: Int = 0
    /// 表态数
    var attitudes_count: Int = 0
    /// 微博配图模型数组
    var pic_urls: [WBStatusPicture]?
    /// 被转发的原创微博
    var retweeted_status: WBStatus?
    /// 微博创建时间
    var created_at: String? {
        didSet {
            createdDate = Date.tyc_sinaDate(string: created_at ?? "")
        }
    }
    
    /// 创建微博日期
    var createdDate: Date?
    
    ///     微博来源
    var source: String? {
        didSet {
            //重新计算来源并且保存
            //在didSet中再次给source设置值，不会调用didSet
            source = "来源" + (source?.tyc_href()?.text ?? "")
        }
    }
    
    
    
    
    //微博用户
    var user: WBUser?
    
    /// 重写description的计算属性
    override var description: String {
        return yy_modelDescription()
    }
    /// 类函数，告诉YYModel第三方框架，如果遇到数组类型的属性，数组中存放的是什么类。
    ///
    /// - Returns: [String: AnyClass]
    //NSArray中保存对象的类型通常是‘id’类型
    //OC中泛型是Swift推出后，苹果为了兼容给OC增加的
    //从运行时角度，仍然不知道数组中应该存放什么类型的对象
    class func modelContainerPropertyGenericClass() -> [String: AnyClass] {
        return ["pic_urls": WBStatusPicture.self]
    }
}
